1 package net.sourceforge.selfesteem;
2
3 import java.util.Iterator;
4
5 public class RootNode extends CompositeNode {
6 public RootNode() {
7 super("root");
8 }
9
10 public String toString() {
11 Metrics metrics = new Metrics();
12 visit(this, metrics);
13 return "Acceptance Tests : " + metrics;
14 }
15
16 private void visit(Node node, Metrics metrics) {
17 if (node instanceof TestNode) {
18 metrics.consider((TestNode) node);
19 } else if (node instanceof StoryNode) {
20 metrics.consider((StoryNode) node);
21 }
22
23 if (node instanceof CompositeNode) {
24 for (Iterator i = ((CompositeNode) node).iterator(); i.hasNext();) {
25 visit((Node) i.next(), metrics);
26 }
27 }
28 }
29
30 private static class Metrics {
31 private int _passingTests;
32 private int _tests;
33 private int _passingStories;
34 private int _stories;
35
36 void consider(TestNode node) {
37 _tests++;
38 if (node.isPassing()) _passingTests++;
39 }
40
41 void consider(StoryNode node) {
42 _stories++;
43 if (node.isPassing()) _passingStories++;
44 }
45
46 public String toString() {
47 return _passingStories + " of " + _stories + " stories complete - " +
48 _passingTests + " of " + _tests + " tests passing - " +
49 (_stories != 0 ? _passingStories * 100 / _stories : 0) + "%";
50 }
51 }
52 }
This page was automatically generated by Maven